package com.honghe.system.domain;

import java.math.BigDecimal;
import java.util.Date;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.honghe.common.annotation.Excel;
import com.honghe.common.core.domain.BaseEntity;

/**
 * 合同信息对象 contract_info
 * 
 * @author honghe
 * @date 2025-05-09
 */
public class ContractInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 合同编号 */
    private String contractId;

    /** 合同名称 */
    @Excel(name = "合同名称")
    private String contractName;

    /** 合同类型 */
    @Excel(name = "合同类型")
    private String contractType;

    /** 客户编号 */
    @Excel(name = "客户编号")
    private Long customerId;

    /** 签订日期 */
    private Date signingDate;

    /** 生效日期 */
    private Date effectiveDate;

    /** 到期日期 */
    private Date expirationDate;

    /** 合同金额 */
    @Excel(name = "合同金额")
    private BigDecimal contractAmount;

    /** 付款条款 */
    private String paymentTerms;

    /** 合同状态 */
    @Excel(name = "合同状态")
    private String contractStatus;

    /** 文件 */
    private String fileInfo;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    public void setContractId(String contractId) 
    {
        this.contractId = contractId;
    }

    public String getContractId() 
    {
        return contractId;
    }

    public void setContractName(String contractName) 
    {
        this.contractName = contractName;
    }

    public String getContractName() 
    {
        return contractName;
    }

    public void setContractType(String contractType) 
    {
        this.contractType = contractType;
    }

    public String getContractType() 
    {
        return contractType;
    }

    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }

    public void setSigningDate(Date signingDate) 
    {
        this.signingDate = signingDate;
    }

    public Date getSigningDate() 
    {
        return signingDate;
    }

    public void setEffectiveDate(Date effectiveDate) 
    {
        this.effectiveDate = effectiveDate;
    }

    public Date getEffectiveDate() 
    {
        return effectiveDate;
    }

    public void setExpirationDate(Date expirationDate) 
    {
        this.expirationDate = expirationDate;
    }

    public Date getExpirationDate() 
    {
        return expirationDate;
    }

    public void setContractAmount(BigDecimal contractAmount) 
    {
        this.contractAmount = contractAmount;
    }

    public BigDecimal getContractAmount() 
    {
        return contractAmount;
    }

    public void setPaymentTerms(String paymentTerms) 
    {
        this.paymentTerms = paymentTerms;
    }

    public String getPaymentTerms() 
    {
        return paymentTerms;
    }

    public void setContractStatus(String contractStatus) 
    {
        this.contractStatus = contractStatus;
    }

    public String getContractStatus() 
    {
        return contractStatus;
    }

    public void setFileInfo(String fileInfo) 
    {
        this.fileInfo = fileInfo;
    }

    public String getFileInfo() 
    {
        return fileInfo;
    }

    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("contractId", getContractId())
            .append("contractName", getContractName())
            .append("contractType", getContractType())
            .append("customerId", getCustomerId())
            .append("signingDate", getSigningDate())
            .append("effectiveDate", getEffectiveDate())
            .append("expirationDate", getExpirationDate())
            .append("contractAmount", getContractAmount())
            .append("paymentTerms", getPaymentTerms())
            .append("contractStatus", getContractStatus())
            .append("fileInfo", getFileInfo())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("remarks", getRemarks())
            .toString();
    }
}
